package collection;

import java.util.Objects;

//为集合测试做准备
public class Point {
    //创建两个私有成员变量
    private int x;
    private int y;

    //2.创建构造方法
    //2.1无参构造方法
    public Point() {
    }

    //2.2全参构造方法
    public Point(int x, int y) {
        this.x = x;
        this.y = y;
    }

    //3.重写方法，下方这几个方法为继承Object类的常用
    //3.1重写toString方法
    @Override
    public String toString() {
        return "(" + x + "," + y + ')';   //返回字符串为（x，y），例如（10，20）
    }

    //3.2重写equals（）方法
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Point point = (Point) o;
        return x == point.x && y == point.y;
    }
    //3.3重写hashcode()方法
    @Override
    public int hashCode() {
        return Objects.hash(x, y);
    }

    //4.生成Getter和Setter生成
    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }
}
